package method1reference;

import java.util.Arrays;

public class Demo2 {
    public static void main(String[] args) {

    }
    public static void test1(){

        Outer[] o = new Outer[5];
        o[0] = new Outer("jack", 12, 1.85);
        o[1] = new Outer("tom", 20, 1.75);
        o[2] = new Outer("lucy", 33, 1.65);
        o[3] = new Outer("mary", 35, 1.55);
        o[4] = new Outer("kate", 16, 1.45);

        //需求：按钮年龄升序排序。可以调用sun公司写好的API直接对数组进行排序
        Outer t = new Outer();
//        Arrays.sort(o, (o1, o2) -> t.compareHeight(o1, o2));

        //实例方法引用：对象名::方法名
        //使用场景：如果某个Lambda表达式里只是通过对象名称调用一个实例方法，并且“->”前后参数的形式一致，就可以使用实例方法引用
        Arrays.sort(o, t::compareHeight);

        for (int i = 0; i < o.length; i++) {
            Outer temp = o[i];
            System.out.println(temp);
        }
    }
}
